package blackitheima1;

import java.io.File;
import java.util.HashMap;

//统计一个文件夹中,各文件的个数
public class MyFile3 {
    public static void main(String[] args) {
        File file=new File("day11");
        //创建Map集合储存对应的键值
        HashMap<String,Integer> map=new HashMap<>();
        //调用方法
        getCount(map,file);
        System.out.println(map);
    }

    private static void getCount(HashMap<String, Integer> map, File file) {
        //进入文件夹
        File[] files = file.listFiles();
        //遍历文件夹
        for (File file1 : files) {
            //判断是否为文件
            if(file1.isFile()){
                //调用方法显示文件名
                String name = file1.getName();
                //字符串分割,为提取后缀做准备
                String[] split = name.split("\\.");
                //判断数组元素长度,避免特殊文件名
                if(split.length==2){
                    //判断键值是否存在,即后缀是否存在
                    if(map.containsKey(split[1])){
                        //后缀存在
                        Integer value = map.get(split[1]);
                        value++;
                        map.put(split[1],value);
                    }else{
                        //此后缀不存在,创建
                        map.put(split[1],1);

                    }

                }
            }else{
                //递归调用文件夹内的文件
                getCount(map,file1);
            }
        }
    }
}
